package com.wyix.sercvice;

import com.wyix.entity.Order;

/**
 * 商家行为接口：定义商家必须实现的核心能力
 *
 * @author wangdx
 * @since 2025/8/1
 */

public interface MerchantService {
    // 接单（抽象方法，无实现）
    Order acceptOrder(Order order);
    // 备餐（抽象方法，不同商家备餐流程不同）
    void prepareMeal(Order order);
    // 默认方法：通知骑手取餐（提供通用实现，可被重写）
    default void notifyRider(Order order, RiderService rider) {
        System.out.println("商家[" + this.getClass().getSimpleName() + "]通知骑手取餐：订单" + order.getId());
        rider.pickupMeal(order); // 调用骑手接口的取餐方法
    }
}
